]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
notificationDaemon: Use registered D-Bus error
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 31 Jan 2024 17:32:15 +0000 (18:32 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 31 Jan 2024 19:58:31 +0000 (20:58 +0100)
Instead of returning ad-hoc errors, register a custom error domain
and return appropriate GLib.Errors.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3159>

js/misc/dbusErrors.js
js/ui/notificationDaemon.js

index f59add3143acc4887d8aabf91e510740465a199f..6cb8a83b1c49cf379937e6c298e043c5c3ef7abe 100644 (file)
@@ -34,3 +34,10 @@ const modalDialogErrorNames = [
 export const ModalDialogErrors =
     registerErrorDomain('ModalDialog', modalDialogErrorNames);
 export const ModalDialogError = createErrorEnum(modalDialogErrorNames);
+
+const notificationErrorNames = [
+    'InvalidApp',
+];
+export const NotificationErrors =
+    registerErrorDomain('Notifications', notificationErrorNames, 'org.gtk');
+export const NotificationError = createErrorEnum(notificationErrorNames);
index cec670dd09e877a4ee9b898511b482360358abfc..899a97516fcd50b8899b0f99acddc23159157535 100644 (file)
@@ -12,6 +12,7 @@ import * as MessageTray from './messageTray.js';
 import * as Params from '../misc/params.js';
 
 import {loadInterfaceXML} from '../misc/fileUtils.js';
+import {NotificationErrors, NotificationError} from '../misc/dbusErrors.js';
 
 const FdoNotificationsIface = loadInterfaceXML('org.freedesktop.Notifications');
 
@@ -694,7 +695,8 @@ class GtkNotificationDaemon {
             source = this._ensureAppSource(appId);
         } catch (e) {
             if (e instanceof InvalidAppError) {
-                invocation.return_dbus_error('org.gtk.Notifications.InvalidApp',
+                invocation.return_error_literal(NotificationErrors,
+                    NotificationError.INVALID_APP,
                     `The app by ID "${appId}" could not be found`);
                 return;
             }